package com.xb.loan.util;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
import com.google.common.collect.Maps;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * 通用JSON返回类
 */
public class ResultJson {
    private static final ObjectMapper objectMapper;

    static {
        objectMapper = new ObjectMapper();
        objectMapper.registerModule(new AfterburnerModule());
        objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
        objectMapper.configure(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED, false);
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

//        objectMapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
    }

    public static final Integer SUCCESSFUL = 0; // 成功
    public static final Integer ERR_FILE_BIG = 1001; // 提交的文件太大
    public static final Integer ERR_FILE_TYPE = 1002; // 文件类型不支持
    public static final Integer ERR_APP_SERVER_OTHER = 200;   //UploadException
    public static final Integer ERR_UPLOAD_ERROR = 201;   //UploadException
    public static final Integer ERR_STORE_SERVER_OTHER = 300; //IOException ftp 等
    public static final Map<Integer, String> msg = new HashMap<Integer, String>();

    public static final Integer SYSTEM_UNKNOWN_EXCEPTION = 20000;//操作异常
    public static final Integer CHARGE_EXCEPTION = 21000;//充值失败
    public static final Integer ERR_CODE_NO_BIND = 21001;//未绑定提现方式
    public static final Integer ERR_CODE_UNFRONE_ERROR = 21002;//解冻错误码
    public static final Integer ERR_CODE_UPDATE_STORE_BATCH_ERROR = 21003;//批量修改库存失败
    public static final Integer ERR_CODE_UPDATE_STORE_ERROR = 21004;//修改库存失败
    public static final Integer ERR_CODE_NOTFUND_PARENT = 21005;//无推荐人，不能下单
    public static final Integer ERR_CODE_HAS_PARENT = 21006;//用户不是无头用户
    public static final Integer ERR_CODE_NO_MOBILE = 21007;//手机号码不存在
    public static final Integer ERR_CODE_IS_AGENT = 21008;//用户是代理商
    public static final Integer ERR_CODE_PARENT_NOPARENT = 21009;//查询的父类是无头用户

    public static final Integer ERR_CODE_PRODUCT_EXITS_ERROR = 38001;//商品不存在
    public static final Integer ERR_CODE_PRODUCT_NOT_STORE_ERROR = 38002;//商品库存不足
    public static final Integer ERR_CODE_ORDER_EXITS_ERROR = 38003;//订单不存在

    //红包相关
    public static final Integer ERR_LUCKYMONEY_CREATE = 20001;   //创建红包失败
    //用户相关 20001---200113
    public static final Integer ERR_USER_CREATED = 50001;   //创建用户失败
    public static final Integer ERR_TOKEN_CREATED = 20002;   //生成用户token失败
    public static final Integer ERR_NEED_CAPTCHA = 20003;   //需要动态验证码
    public static final Integer ERR_CHECK_CAPTCHA_TOKEN = 20004;   //校验用户token与验证码失败
    public static final Integer ERR_SEND_SMSCODE = 20005;   //发送短信验证码失败
    public static final Integer ERR_USER_NOT_EXIST = 20006;   //用户不存在
    public static final Integer ERR_GET_USER_INFO = 20007;   //查询用户信息失败
    public static final Integer ERR_CODE_COM_REQURIE = 20008;   //必填参数错误
    public static final Integer ERR_MOBILE_ALREADY_EXIST = 20009;   //手机号已经存在
    public static final Integer ERR_UPDATE_USER_MOBILE = 20010;   //修改用户手机号失败
    public static final Integer ERR_UPDATE_USER_INFO = 20011;   //修改用户个人资料失败
    public static final Integer ERR_UPDATE_USERCONFIG_INFO = 20012;   //修改用户个人设置失败
    public static final Integer ERR_GET_USERCONFIG_INFO = 20013;   //获取用户个人设置失败
    public static final Integer ERR_GET_USER_AVATAR_INFO = 20014;   //获取用户头像列表失败
    public static final Integer ERR_CREATE_USER_AVATAR_INFO = 20014;   //创建用户头像信息失败
    public static final Integer ERR_CREATE_USER_CONFIG_INFO = 20015;   //创建用户个人设置信息失败
    public static final Integer ERR_GET_USER_NICKNAME = 20016;   //查询用户昵称列表失败
    public static final Integer ERR_CREATE_USER_NICKNAME = 20017;   //添加用户昵称信息失败
    public static final Integer ERR_DATA_ACCESS = 20018;   //数据查询错误
    public static final Integer ERR_USER_ALREADY_EXIST = 20019;   //用户已经存在
    public static final Integer ERR_NEED_LOGIN_REQUIRE = 20020;   //未登录，请先登录！
    public static final Integer ERR_USER_AVATAR_PARAMS = 20021;   //用户头像参数有误！
    public static final Integer ERR_GET_USER_LOCATION = 20022;   //获取单个用户地理位置信息有误！
    public static final Integer ERR_ADD_USER_LOCATION = 20023;   //新增单个用户地理位置信息失败
    public static final Integer ERR_UPDATE_USER_LOCATION = 20024;   //修改单个用户地理位置信息失败
    public static final Integer ERR_BATCH_FIND_USER_LOCATION = 20025;   //批量获取用户地理位置信息失败
    public static final Integer ERR_OPERATE_CACHE = 20026;   //操作缓存失败
    public static final Integer ERR_DATA_TRANSFER = 20027;   //数据转换失败
    public static final Integer ERR_GENERATOR_QR_CODE = 20028;   //个人二维码生成失败
    public static final Integer ERR_FILE_NOT_EXIST_CODE = 20029;   //文件不存在
    public static final Integer ERR_SHARD_CODE = 20030;   //转发或收藏失败
    public static final Integer ERR_USER_HAVE_NO_RELATION = 20031;   //用户之间不存在任何关系
    public static final Integer ERR_BATCH_FIND_USER_INFO_FORMAT = 20032;   //批量获取用户信息时数组转换成列表时出错
    //    public static final Integer ERR_TOKEN_CHECK = 20033;   //TOKEN校验异常了
    public static final Integer ERR_USER_JOININ = 20034;   //用户登录操作异常
    public static final Integer ERR_SMSCODE_FORMAT = 20035;   //验证码格式错误，不能为空且必须为6位
    public static final Integer ERR_CURRENT_USER_NOT_EXIST = 20036;   //当前用户不存在
    public static final int ERR_DEVICE_ID_LENGTH = 20037;   //设备号不合法
    public static final Integer ERR_SENDSMS_SMSTYPE = 20038;   //短信类型参数有误
    public static final Integer ERR_INCTYPE = 20039;   //累计参数有误
    public static final Integer ERR_PARAM_OVER_LENGTH = 20040;   //参数长度超限
    public static final int ERR_DEVICE_TYPE = 20041;   //不支持的设备类型
    public static final int ERR_NAME = 20042;   //名称不合法
    public static final int ERR_NOT_SUPPORT_VERSION_LOGIN = 20043;   //不支持当前版本登录，请下载最新版本
    public static final int ERR_ACCOUNT_ALREADY_EXIST = 20044;   //银行卡已经绑定
    //qlove
    public static final int ERR_SAVE_QLOVE_BIND = 20044;   //存储qlove绑定信息失败
    public static final int ERR_SAVE_QLOVE_INFO = 20045;   //qlove初始化信息失败
    public static final int ERR_QLOVE_REQUEST = 20046;   //qlove申请绑定失败
    public static final int ERR_QLOVE_USER_NOT_EXIST = 20047;   //qlove用户不存在
    public static final int ERR_QLOVE_USER_REGULAR = 20048;   //qlove用户激活失败
    public static final int ERR_QLOVE_BIND_INFO_EMPTY = 20049;   //没有该qlove设备的绑定信息
    public static final int ERR_QLOVE_WRONG_MANAGER = 20050;   //您不是该qlove设备的管理员
    public static final int ERR_QLOVE_UPDATE_PROFILE = 20051;   //设置qlove资料失败
    public static final int ERR_QLOVE_UNBIND = 20052;   //解除绑定失败
    public static final int ERR_QLOVE_UNBIND_PARAM = 20053;   //解除绑定参数错误
    public static final int ERR_QLOVE_INFO_UPLOAD = 20054;   //上传qlove设备信息错误
    public static final int ERR_QLOVE_INFO_UPLOAD_PARAM = 20055;   //上传qlove设备信息参数有误
    public static final int ERR_QLOVE_INFO_GET = 20056;   //没有该qlove设备的硬件信息
    public static final int ERR_QLOVE_POLL = 20057;   //qlove轮询绑定结果失败
    public static final int ERR_QLOVE_REFRESH_TOKEN_VERIFY = 20058;   //qlove的refreshToken校验失败
    public static final int ERR_QLOVE_REFRESH_TOKEN = 20059;   //qlove的refreshToken刷新失败
    public static final int ERR_QLOVE_ACCESS_TOKEN_RIGHT = 20060;   //qlove的accessToken仍然有效
    public static final int ERR_QLOVE_REFRESH_TOKEN_RIGHT = 20061;   //qlove的refreshToken仍然有效
    public static final int ERR_QLOVE_LOGIN = 20062;   //qlove登录失败
    public static final int ERR_QLOVE_TOKEN_GET = 20063;   //qlove token获取失败
    public static final int ERR_QLOVE_REQUEST_EXPIRED = 20064;   //qlove申请绑定请求已失效
    public static final Integer ERR_CONTACTS_NOT_EXIST = 20065;   //联系人不存在
    public static final Integer ERR_BIGEVENT_NOT_EXIST = 20066;   //大事记不存在
    public static final Integer ERR_CONTACTS_ADD = 20067;   //联系人添加失败
    public static final int ERR_USER_AVATAR_URL = 20068;   //用户头像url错误
    public static final int ERR_QLOVE_NAME_AVATAR_URL = 20069;   //Qlove头像或昵称修改失败
    public static final int ERR_QLOVE_AREA = 20070;   //Qlove地域修改失败
    public static final int ERR_QLOVE_MOBILE = 20071;   //Qlove对应的手机号修改失败
    public static final Integer ERR_BIGEVENT_ADD_LIMIT = 20072;   //该天大事记已存在
    public static final Integer ERR_GET_QLOVE_INFO = 20073;   //获取qlove系统状态信息失败
    public static final Integer ERR_HAS_SIM_MOBILE = 20074;   //手机号参数错误
    public static final Integer ERR_QLOVE_SETTINGS_INVALID = 20075;   //无效qlove设置项
    public static final Integer ERR_COMET_INFO_GET = 20076;   //comet查询状态失败
    public static final Integer ERR_SN_NOT_MATCH_WITH_RANDOM = 20077;   //qlove设备的序列号与随机码不匹配
    public static final Integer ERR_QLOVE_SIGN_OUT = 20078;   //qlove注销亲见用户信息失败
    public static final Integer ERR_CONTACTS_MANAGER_NOT_DELETE = 20079;   //联系人不存在
    public static final Integer ERR_MUSIC_CHARTID_NULL = 20080;   //频道不能为空
    public static final Integer ERR_BIGEVENT_ADD_COUNT_LIMIT = 20081;   //该用户大事记超过200条限制
    public static final Integer ERR_CONTACTS_ADD_SEFL = 20082;   //不能添加自己为联系人
    public static final Integer ERR_CREATE_ACCOUT = 20083;   //创建账号失败
    public static final Integer ERR_VERIFY_PWD = 20084;   //密码校验失败
    public static final Integer ERR_UPDATE_PWD = 20085;   //密码修改失败
    public static final Integer ERR_QLOVE_UID_SAVE = 20086;   //设备与亲见账号关联失败
    public static final Integer ERR_QLOVE_ALREADY_BIND = 20087;   //已绑定,无需重复绑定

    //token相关
    public static final Integer ERR_REMOVE_TOKEN = 20114;   //清除token失败
    //    public static final Integer ERR_TOKEN_VERIFY = 20115;   //token校验失败
    public static final Integer ERR_CHECK_MOBILE_SMSCODE = 20117;   //手机号和短信验证码校验失败
    public static final Integer ERR_ACCESS_TOKEN = 20118;   //access_token错误
    public static final Integer ERR_REFRESH_TOKEN = 20119;// refresh_token错误
    public static final Integer ERR_INVOKE_BEYOND_FREQUENCY_LIMIT = 20120;// 接口调用频次超限
    public static final Integer ERR_ACCESS_TOKEN_EXPIRED = 20121;// access_token过期
    public static final Integer ERR_SAVE_USER_TOKEN_INFO = 20122;   //用户token保存失败
    public static final Integer ERR_UPDATE_USER_TOKEN_INFO = 20123;   //用户token与用户信息修改失败

    //安全校验相关
    public static final Integer ERR_CANTSENTSMS = 20222;//短信发送已达今天的最高上限
    public static final Integer ERR_PHONEERROR = 20223;//手机号格式错误
    public static final Integer ERR_MINUTELIMIT = 20224;//一分钟内只能发一条短信
    public static final Integer ERR_SMSCODE = 20225;// 验证码错误或已过期
    public static final Integer ERR_CHECKSMSCODE_LIMIT = 20226;//今日验证码校验错误次数已超过上限
    public static final Integer ERR_LOGIN_FAILED = 20227;//登入失败
    public static final Integer ERR_CHECKLOGIN_FAILED = 20228;//账号未登录，请先登录
    public static final Integer ERR_USERNAME_IP_INBLACKLIST = 20229;//登陆用户或者ip在黑名单中
    public static final Integer ERR_CREATE_HOME_AND_TREE_HOLE = 20230;//创建我的小家和树洞失败
    public static final Integer ERR_MOBILE_SMSCODE_NOT_MATCH = 20231;//手机号与验证码不匹配

    public static final Integer ERR_AVATAR_NAME_UPDATE = 20232;//头像或昵称更新失败
    public static final Integer ERR_MASTER_GROUP_NAME_UPDATE = 20233;//用户群名更新失败
    public static final Integer ERR_USER_UPDATE = 20234;//用户更新失败
    public static final Integer ERR_DELETE_SMS_CODE = 20235;//删除手机验证码失败
    public static final Integer ERR_IP_LIMITED_SMS_CODE = 20236;//该IP地址超过发送短信数量限制
    public static final Integer ERR_INC_SEND_TIMES = 20237;//次数累加失败
    public static final Integer ERR_NOT_ALLOW_OPERATION = 20238;//无此操作权限

    //通讯录相关
    public static final Integer ERR_MODIFY_REMARK = 30001; //修改备注失败
    public static final Integer ERR_ADD_FRIENDS_INVITE = 30002; //用户邀请失败
    public static final Integer ERR_ADD_FRIENDS_ADD = 30003; //用户添加失败
    public static final Integer ERR_ACCEPT_FRIENDS_ACCEPT = 30004; //用户接受失败
    public static final Integer ERR_UPLOAD = 30005; //上传通讯录失败
    public static final Integer ERR_GET_REMARK = 30006; //获取备注失败
    public static final Integer ERR_ADD_FRIENDS_INVITE_TIMES = 30007; //邀请次数上限
    public static final Integer ERR_IGNORE_FRIENDS = 30008; //忽略亲友失败
    public static final Integer ERR_DELETE_FRIENDS = 30009; //解除亲友失败
    public static final Integer ERR_GET_FRIENDS = 30010; //获取亲友录失败

    //h5
    public static final Integer ERR_QUERY_SYS_AVATAR = 30500; //默认头像查询失败
    public static final Integer ERR_QUERY_EMOTICON_KIT_LIST = 30501; //查询系统表情包列表失败
    public static final Integer ERR_QUERY_EMOTICON_LIST_BY_KITID = 30502; //查询某表情包下的表情列表失败
    public static final Integer ERR_NOT_EXIST_EMOTICON_KIT = 30503; //数据库中无任何表情包
    public static final Integer ERR_NOT_EXIST_EMOTICONS = 30504; //数据库中无任何表情


    //group
    public static final Integer ERROR_CODE_GROUP_NAME_REQUIRED = 40001;// 建群 需要组名
    public static final Integer ERROR_CODE_GROUP_CREATE = 40002; // 建群 失败
    public static final Integer ERROR_CODE_GROUP_EXISTED = 40003; // 建群 群信息已经存在
    public static final Integer ERROR_CODE_GROUP_INVITE_MOBILE = 40004; // 手机邀请失败
    public static final Integer ERROR_CODE_GROUP_INVITE_UID = 40005; // 手机邀请失败
    public static final Integer ERROR_CODE_GROUP_INVITE_MYSELF = 40006; // 不能邀请自己进群
    public static final Integer ERROR_CODE_GROUP_INVITE_DUPLICATE = 40007; // 不能重复邀请
    public static final Integer ERROR_CODE_GROUP_INVITE_GID_REQUIRED = 40008; // 邀请gid为空
    public static final Integer ERROR_CODE_GROUP_INVITE_UID_REQUIRED = 40009; // 邀请用户不存在
    public static final Integer ERROR_CODE_GROUP_INVITE_CODE_REQUIRED = 40010; // 需要验证码
    public static final Integer ERROR_CODE_GROUP_INVITE_CODE_VERIFY = 40011; // 验证码校验失败
    public static final Integer ERROR_CODE_GROUP_INVITE_CODE_EXPIRED = 40012; // 群配置错误
    public static final Integer ERROR_CODE_GROUP_CONFIG = 40013; // 群配置错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_MEMBER = 40014; //您不是群成员
    public static final Integer ERROR_CODE_GROUP_CONFIG_MASTER = 40015; //您不是群主
    public static final Integer ERROR_CODE_GROUP_CONFIG_REQUIRED = 40016; // 群配置信息为空
    public static final Integer ERROR_CODE_MASKS_USERS_REQUIRED = 40018; // 屏蔽群用户信息为空
    public static final Integer ERROR_CODE_GROUP_USER_OFFLINE = 40019; // 离群成员不能操作
    public static final Integer ERROR_CODE_GROUP_USER_NOT_EXIST = 40020; // 非群成员
    public static final Integer ERROR_CODE_USER_MASK_REQUIRED = 40021; // 屏蔽信息为空
    public static final Integer ERROR_CODE_GROUP_USER_QUIT = 40023; // 用户退群失败
    public static final Integer ERROR_CODE_USER_COMPLAINT = 40024; // 用户投诉失败
    public static final Integer ERROR_CODE_GROUP_CONFIRM = 40025; // 群邀请确认
    public static final Integer ERROR_CODE_GROUP_GID_REQUIRED = 40026; // 通过邀请码邀请进群，gid为空
    public static final Integer ERROR_CODE_GROUP_NOT_EXIST = 40027; // 群不存在
    public static final Integer ERROR_CODE_GROUP_TREE_HOLE = 40028; // 树洞群不可修改信息
    public static final Integer ERROR_CODE_GROUP_CONFIRM_REQUIRED = 40029; // 群邀请确认信息为空
    public static final Integer ERROR_CODE_GROUP_CONFIRM_SKIP = 40030; // 跳过群邀请确认
    public static final Integer ERROR_CODE_GROUP_INVITE_USER_NOT_EXIST = 40031; // 被邀请人不存在
    public static final Integer ERROR_CODE_GROUP_CONFIG_AVATAR_TYPE = 40032; // 群配置头像类型错误
    public static final Integer ERROR_CODE_GROUP_QUALITY_MAX = 40033; // 超过用户创建群的数量
    public static final Integer ERROR_CODE_GROUP_INIT_USERNAME_REQUIRED = 40034; // 群初始化用户名为空
    public static final Integer ERROR_CODE_ENTER_GROUP = 40035; // 进群错误
    public static final Integer ERROR_CODE_GROUP_USER_NICKNAME_REQUIRED = 40036; // 群昵称为空
    public static final Integer ERROR_CODE_GROUP_MAIN = 40037; // 主群不存在
    public static final Integer ERROR_CODE_GROUP_MY_FAMILY = 40038; // 我的小家不存在
    public static final Integer ERROR_CODE_MASKS_USERS_FORMAT = 40039; // 屏蔽用户信息错误
    public static final Integer ERROR_CODE_MASKS_MYSELF = 40040; // 不能屏蔽自己
    public static final Integer ERROR_CODE_GROUP_USER_QUIT_MY_FAMILY = 40041; // 不能退出自己的小家
    public static final Integer ERROR_CODE_GROUP_USER_CONFIRM_REQUIRED = 40042; // 用户邀请确认信息为空
    public static final Integer ERROR_CODE_GROUP_USER_CONFIRM_SKIP = 40043; // 跳过用户邀请确认
    public static final Integer ERROR_CODE_GROUP_USER_CONFIRM = 40044; // 用户邀请确认失败
    public static final Integer ERROR_CODE_GROUP_EXCEED_MAX = 40045; // 超过最大群用户数量
    public static final Integer ERROR_CODE_GROUP_QUIT = 40046; // 退群失败
    public static final Integer ERROR_CODE_GROUP_TREE_HOLE_MAIN = 40047; // 退群失败
    public static final Integer ERROR_CODE_GROUP_MAX = 40048; // 群大小参数错误
    public static final Integer ERROR_CODE_NOT_QINYOU = 40049; // 非亲友
    public static final Integer ERROR_CODE_GROUP_QUERY_RELATION = 40050; // 查询群用户关系失败
    public static final Integer ERROR_CODE_GROUP_USER_QUIT_TREE_HOLE = 40051; // 不能退出自己的树洞
    public static final Integer ERROR_CODE_UNBIND_USER_RELATION = 40052; // 解除用户关系错误
    public static final Integer ERROR_CODE_GROUP_MAIN_SET = 40053; // 设置主群失败
    public static final Integer ERROR_CODE_GROUP_USER_SAME_UID_CONFIRM = 40054; // 确认用户错误
    public static final Integer ERROR_CODE_GROUPS_REQUIRED = 40055; // 群列表id参数为空
    public static final Integer ERROR_CODE_MASKS_GIDS_EMPTY = 40056; // 屏蔽群列表id参数为空
    public static final Integer ERROR_CODE_GROUP_USER_QUIT_LAST_GROUP = 40057; // 不能退出最后一个群
    public static final Integer ERROR_CODE_GROUP_ENTER_QUALITY_MAX = 40058; // 超过用户进入被邀请群的数量
    public static final Integer ERROR_CODE_GROUP_USER_REJECT = 40059; // 移出本群失败
    public static final Integer ERROR_CODE_QUIT_GROUP_MASTER = 40060; // 群主退群失败
    public static final Integer ERROR_CODE_GROUP_USER_IGNORE_BATCH_GIDS_REQUIRED = 40061; // 批量忽略群邀请，群id列表不能为空
    public static final Integer ERROR_CODE_GROUP_USER_IGNORE_BATCH_FAILED = 40062; // 批量忽略群邀请，群id列表不能为空
    public static final Integer ERROR_CODE_GROUP_INVITE_MOBILE_BATCH_SIZE_ERROR = 40063; // 手机号批量邀请手机号为空
    public static final Integer ERROR_CODE_GROUP_INVITE_MOBILE_BATCH_SIZE_EXCEED_ERROR = 40064; // 手机号批量邀请超过数量限制
    public static final Integer ERROR_CODE_GROUP_USER_IGNORE_BATCH_GIDS_EXCEED = 40065; // 批量忽略群邀请超过数量限制
    public static final Integer ERROR_CODE_GROUP_CONFIG_TYPE = 40066; // 群配置类型错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_NO_DISTURB = 40067; // 群配置勿扰参数错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_DISPLAY_NICKNAME = 40068; // 群配置显示群昵称参数错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_NICKNAME = 40069; // 群配置群昵称参数错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_NAME = 40070; // 群配置群名称参数错误
    public static final Integer ERROR_CODE_GROUP_DISSOLVE = 40071; // 群已解散
    public static final Integer ERROR_CODE_GROUP_CONFIG_NICKNAME_TOO_LONG = 40072; // 群昵称过长
    public static final Integer ERROR_CODE_GROUP_VERIFY_TYPE_REQUIRED = 40073; // 群类型为空
    public static final Integer ERROR_CODE_GROUP_VERIFY_TYPE = 40074; // 验证类型错误
    public static final Integer ERROR_CODE_GROUP_MASTER_APPOINT = 40075; // 转让群主身份失败
    public static final Integer ERROR_CODE_GROUP_NOT_MASTER = 40076; // 您不是群主
    public static final Integer ERROR_CODE_GROUP_AUDIT = 40078; // 审核失败
    public static final Integer ERROR_CODE_GROUP_VERIFY_VALUE_TYPE = 40079; // 验证值错误
    public static final Integer ERROR_CODE_GROUP_AUDIT_STATUS_TYPE = 40080; // 审批状态错误
    public static final Integer ERROR_CODE_GROUP_INVITE_AUDIT_NOT_SUPPORTED = 40081; // 审批类型类型不支持
    public static final Integer ERROR_CODE_GROUP_USER_INIT = 40082; // 群初始化错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_PUBLIC_BIRTHDAY = 40083; // 群配置公开生日参数错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_PUBLIC_MOBILE = 40084; // 群配置公开手机号参数错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_FEED_NOTIFY = 40085; // 群配置feed通知参数错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_CHAT_NOTIFY = 40086; // 群配置聊天通知参数错误
    public static final Integer ERROR_CODE_GROUP_CONFIG_VERIFY = 40087; // 群配置入群验证策略参数错误
    public static final Integer ERROR_CODE_GROUP_CATEGORY_REQUIRED = 40088; // 群分类为空
    public static final Integer ERROR_CODE_GROUP_APPLY_DUPLICATE = 40089; // 用户重复主动入群
    public static final Integer ERROR_CODE_GROUP_CONFIG_PUBLISH_DISCUSS = 40090; // 群公开讨论参数错误
    public static final Integer ERROR_CODE_PUBLISH_DISCUSS_NOT_ALLOW = 40091; // 群公开讨论参数错误
    public static final Integer ERROR_CODE_GROUP_APPLY_USER_INFO_REQUIRED = 40092; // 公开群不需要审核入群参数错误
    public static final Integer ERROR_CODE_GROUP_USER_QUIT_MASTER = 40093; // 群主退群未任命其他人为群主
    public static final Integer ERROR_CODE_GROUP_AVATAR_REQUIRED = 40094; // 群封面为空
//    public static final Integer ERROR_CODE_GROUP_USER_NOT_IN_GROUP = 40073; // 用户不存在此群中

    public static final Integer ERROR_CODE_GROUP_USERAVATAR_REQUIRED = 40095; // 用户头像错误


    public static final Integer ERROR_CODE_GROUP_MASTER = 40101; // 获取群主失败
    public static final Integer ERROR_CODE_GROUP_NO_PUBLIC = 40102; // 非公开群
    public static final Integer ERROR_CODE_INVITE_CODE_TIME_OUT = 40103; // 邀请码已过期
    public static final Integer ERROR_CODE_GROUP_USER_EXIST = 40104; // 群成员已存在

    // world
    public static final Integer ERROR_CODE_WORLD_FOLLOW_NOT_EXIST = 41001; // 关注记录不存在
    public static final Integer ERROR_CODE_WORLD_FOLLOW_UPDATE = 41002; // 更新关注记录数失败
    public static final Integer ERROR_CODE_WORLD_FOLLOW__DUPLICATE = 41003; // 不能重复关注

    // message
    public static final Integer ERROR_CODE_MESSAGE_PARA_GROUPID = 50001; // 群id错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_USERID = 50002; // 用户id错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_YEAR = 50003; // 年份错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_IMGSEQ = 50004; // imgid错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_TAG = 50005; // tag错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_TIMESTAMP = 50006; // timestamp错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_SIZE = 50007; // size错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_STAR = 50008; // star错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_MSGSEQ = 50009; // msgseq错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_PULLTYPE = 50010; // pulltype错误
    public static final Integer ERROR_CODE_MESSAGE_DELETE_FAIL = 50011; // 删除失败
    public static final Integer ERROR_CODE_MESSAGE_ADDSTAR_FAIL = 50012; // 加星失败
    public static final Integer ERROR_CODE_MESSAGE_PARA_GTYPE = 50013; // 群类型错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_STARSEQ = 50014; // 星seq
    public static final Integer ERROR_CODE_MESSAGE_PARA_IMGID = 50015; // imgid错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_MTYPE = 50016; // mtype错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_EXTRA = 50017; // extra错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_TAGCONT = 50018; // tag内容错误
    public static final Integer ERROR_CODE_MESSAGE_PARA_TAGNOTEXIST = 50019; // tag不存在
    public static final Integer ERROR_CODE_MESSAGE_PARA_MSGNOTEXIST = 50020; // 消息不存在

    // CONFIG SERVER
    public static final Integer ERROR_CODE_CONFIG = 60001; // 城市信息不能为空
    public static final Integer ERROR_CODE_CONFIG_CITY_REQUIRED = 60002; // 城市信息不能为空
    public static final Integer ERROR_CODE_CONFIG_NO_AVAILABLE_ALGORITHM = 60003; //没有可用的算法
    public static final Integer ERROR_CODE_CONFIG_NO_GO_SERVER = 60004; //没有可用的聊天服务器

    // weather
    public static final Integer ERROR_CODE_WEATHER = 70001; //群用户天气获取失败
    public static final Integer ERROR_CODE_WEATHERS = 70002; //群天气获取失败
    public static final Integer ERROR_CODE_WEATHER_LOCATION = 70003;
    public static final Integer ERROR_CODE_WEATHER_CITY = 70004;
    public static final Integer ERROR_CODE_WEATHER_LONGITUDE_LATITUDE = 70005; //经纬度为空
    public static final Integer ERROR_CODE_PASSOMETER_UPLOAD_FAILE = 70010; //上传记步失败
    public static final Integer ERROR_CODE_PASSOMETER_GET_FAILE = 70011; //获取记步失败
    public static final Integer ERROR_CODE_PASSOMETER_MATCH_ATTEND_FAILE = 70012; //参加比赛失败
    public static final Integer ERROR_CODE_PASSOMETER_MATCH_QUIT_FAILE = 70013; //退出比赛失败
    public static final Integer ERROR_CODE_PASSOMETER_MATCH_GET_FAILE = 70014; //获取比赛失败
    public static final Integer ERROR_CODE_NEWS_GET_FAILE = 70015; //获取新闻失败
    public static final Integer ERROR_CODE_HEALTH_GET_FAILE = 70016; //获取健康知识失败
    public static final Integer ERROR_CODE_PHIZ_KITS_GET = 70017; //获取亲表情包失败
    public static final Integer ERROR_CODE_PHIZS_GET = 70018; //获取亲表情失败
    public static final Integer ERROR_CODE_WEATHER_CHECK = 70019; // qlove签名校验失败

    //订单错误=========================================
    //库存不足
    public static final int OUT_STOCK = 80001;
    //订单状态不对
    public static final int ORDER_STATUS_ERROR = 80002;

    //退货订单状态不正确
    public static final int REFUND_ORDER_STATUS_ERROR = 80003;
    //超过退款时间
    public static final int OUT_REFUND_MONEY_TIME = 80003;

    //超过退换货数量
    public static final int OUT_REFUND_GOODS = 800004;

    //超过退款金额
    public static final int OUT_REFUND_MONEY = 80005;

    //非法用户,(订单不是自己的)
    public static final int ILLEGAL_USER = 80006;

    //不是电子面单的订单
    public static final int NOT_ELOGISTIC_ORDER = 80007;

    //无法到达该区域
    public static final int NOT_REACHABLE = 80008;
    //单日超过下单上限
    public static final int USER_ORDER_DAY_LIMIT = 80009;

    //红包过期
    public static final int LUCK_MONEY_EXPIRE = 80010;
    //红包已使用
    public static final int LUCK_MONEY_USED = 80011;
    //红包已被其他订单使用
    public static final int LUCK_MONEY_LOCKED = 80012;

    //订单错误结束======================================
    public static final int ERROR_CODE_PARAM_FAILURE = 90001; // 参数验证失败
    public static final int ERROR_CODE_VALIDFAIL_NOTBLANK = 90002; // 参数验证失败
    public static final int ERROR_CODE_VALIDFAIL_LENGTH = 90003; // 参数验证失败
    public static final int ERROR_CODE_VALIDFAIL_ENUM = 90004; // 参数验证失败
    public static final int ERROR_CODE_VALIDFAIL_NOTEMPTY = 90005; // 参数验证失败
    public static final int ERROR_CODE_VALIDFAIL_NUMBER = 90006; // 参数验证失败
    public static final int ERROR_CODE_VALIDFAIL_PHONE = 90007; // 参数验证失败
    public static final int ERROR_CODE_VALIDFAIL_REGEX = 90008; // 参数验证失败


    //news_feed
    public static final Integer ERROR_CODE_FEED_ADD_FAIL = 100000; //查看日程详情失败
    public static final Integer ERROR_CODE_SCHEDULE_VIEW = 100001; //查看日程详情失败
    public static final Integer ERROR_CODE_SCHEDULE_CHOOSE = 100002; //用户选择失败
    public static final Integer ERROR_CODE_FEED_NEWS_JSON = 100003; // json格式错误
    public static final Integer ERROR_CODE_FEED_NEWS_DEL = 100004; // News已删除或不存在
    public static final Integer ERROR_CODE_FEED_NEWS_DELFAIL = 100005; // News删除失败
    public static final Integer ERROR_CODE_SCHEDULE_TYPE = 100006; // 参加或拒绝的type参数错误
    public static final Integer ERROR_CODE_SCHEDULE_NOT_EXIST = 100007; // 该日程不存在
    public static final Integer ERROR_CODE_SCHEDULE_NOT_CONFIRM = 100008; // 该日程不需要用户确认
    public static final Integer ERROR_CODE_SCHEDULE_NOT_REPEAT_YES = 100009; // 用户已经同意过了，无需再次同意
    public static final Integer ERROR_CODE_SCHEDULE_NOT_REPEAT_NO = 100010; // 用户已经拒绝过了，无需再次拒绝
    public static final Integer ERROR_CODE_ADD_PRAISE = 100011; // 用户点赞失败
    public static final Integer ERROR_CODE_VOTE_NOT_EXIST = 100012; // 该投票不存在
    public static final Integer ERROR_CODE_SUB_VOTE_EMPTY = 100013; // 保存投票信息不能为空
    public static final Integer ERROR_CODE_SUB_VOTE_INFO_ERROR = 100014; // 投票信息没有子选项，信息出错
    public static final Integer ERROR_CODE_SUB_VOTE_ADD = 100015; // 添加投票子项目出错
    public static final Integer ERROR_CODE_VOTE_PARAM_ERROR = 100016; // 投票时类型参数错误，只能为0或1
    public static final Integer ERROR_CODE_VOTE_NOT_ALLOW_ADD = 100017; // 该投票不允许用户添加选项
    public static final Integer ERROR_CODE_VOTE_FAIL = 100018; // 用户投票失败
    public static final Integer ERROR_CODE_VOTE_NOT_ALLOW_MULTI = 100019; // 该投票不允许用户多选
    public static final Integer ERROR_CODE_CANCEL_VOTE_FAIL = 100020; // 用户取消投票失败
    public static final Integer ERROR_CODE_FEED_PARA_GROUPID = 100021; // gid参数错误
    public static final Integer ERROR_CODE_FEED_PARA_JSON = 100022; // json参数错误
    public static final Integer ERROR_CODE_FEED_PARA_NEWSID = 100023; // news_id参数错误
    public static final Integer ERROR_CODE_FEED_PARA_SIZE = 100024; // size参数错误
    public static final Integer ERROR_CODE_FEED_PARA_TOUID = 100025; // touid参数错误
    public static final Integer ERROR_CODE_SCHEDULE_DELETE = 100026; // 删除日程出错
    public static final Integer ERROR_CODE_SCHEDULE_NOT_HAVE_GID = 100027; // 创建日程时群id不可为空
    public static final Integer ERROR_CODE_SCHEDULE_NOT_HAVE_TITLE = 100028; // 创建日程时标题不可为空
    public static final Integer ERROR_CODE_SCHEDULE_NOT_HAVE_STARTTIME = 100029; // 创建日程开始时间不可为空
    public static final Integer ERROR_CODE_VOTE_NOT_HAVE_NEWSID = 100030; // 创建投票时newsid不能为空
    public static final Integer ERROR_CODE_VOTE_NOT_HAVE_TITLE = 100031; // 创建投票时标题不能为空
    public static final Integer ERROR_CODE_VOTE_NOT_HAVE_SUBTITLE = 100032; // 创建投票时子选项不能为空
    public static final Integer ERROR_CODE_VOTE_SUB_NOT_EXIST = 100033; // 该投票子项目不存在
    public static final Integer ERROR_CODE_VOTE_MOVE_FROM_AGREE = 100034; // 从同意列表中踢出失败
    public static final Integer ERROR_CODE_VOTE_MOVE_FROM_REFUSE = 100035; // 从拒绝列表中踢出失败
    public static final Integer ERROR_CODE_VOTE_ADD_TO_AGREE = 100036; // 添加至同意列表失败
    public static final Integer ERROR_CODE_VOTE_ADD_TO_REFUSE = 100037; // 添加至拒绝列表失败
    public static final Integer ERROR_CODE_UPDATE_FEED_NEWS_VOTE = 100038; // 将日程中每项用户列表更新至news表中失败
    public static final Integer ERROR_CODE_SCHEDULE_PULLTYPE = 100039; // 按时间拉取日程时，pullType参数有误
    public static final Integer ERROR_CODE_SCHEDULE_DETELE_NO_PERMISSION = 100040; // 没有权限删除此日程
    public static final Integer ERROR_CODE_VOTE_CREATER_NOT_EMPTY = 100041; // 创建投票时创建人uid不能为空
    public static final Integer ERROR_CODE_VOTE_GID_NOT_EMPTY = 100042; // 创建投票时所在群组gid不能为空
    public static final Integer ERROR_CODE_COMMENT_NOTIFY_MSG_ERR = 100043;//评论push消息失败
    public static final Integer ERROR_CODE_SCHEDULE_END_TIME = 100044;//日程结束时间不能小于开始时间
    public static final Integer ERROR_CODE_SCHEDULE_DEADLINE_NOT_ALLOW_EMPTY = 100045;//日程设置重复后，重复期限不可为空
    public static final Integer ERROR_CODE_VOTE_ENDTIME = 100046;//投票截至时间不能小于当前时间
    public static final Integer ERROR_CODE_SHARE = 100047;//转发失败
    public static final Integer ERROR_CODE_PHOTO_URL = 100048;// 图片url错误
    public static final Integer ERROR_CODE_PHOTO_SIZE = 100049;// 图片个数超限
    public static final Integer ERROR_CODE_TOP_COUNT = 10050;  // 置顶条数超过5条限制

    //feed_album
    public static final Integer ERROR_CODE_ADD_ALBUM = 110001; //创建相册失败
    public static final Integer ERROR_CODE_UPDATE_ALBUM_NOT_YOURS = 110002; //更新相册失败,当前用户无权限
    public static final Integer ERROR_CODE_UPDATE_ALBUM = 110003; //更新相册失败
    public static final Integer ERROR_CODE_DEL_ALBUM_HAS_PHOTO = 110004; //删除相册失败,相册内还有照片
    public static final Integer ERROR_CODE_DEL_ALBUM_NOT_YOURS = 110005; //删除相册失败,当前用户无权限
    public static final Integer ERROR_CODE_DEL_ALBUM = 110006; //删除相册失败
    public static final Integer ERROR_CODE_LIST_ALBUM = 110007; //查询相册列表失败
    public static final Integer ERROR_CODE_DEL_ALBUM_IS_DEFAULT = 110008; //删除相册失败,默认相册不能删除


    //feed_photo
    public static final Integer ERROR_CODE_ADD_PHOTO_ALBUM_NOT_EXIST = 120001; // 添加照片失败,相册不存在
    public static final Integer ERROR_CODE_MOVE_PHOTO_TO_ALBUM_NOT_EXIST = 120002; // 移动照片失败
    public static final Integer ERROR_CODE_MOVE_PHOTO_TO_ALBUM = 120003; // 移动照片失败
    public static final Integer ERROR_CODE_DEL_PHOTO = 120004;//删除照片失败
    public static final Integer ERROR_CODE_ADD_PHOTO_ALBUM = 120005; // 添加照片失败
    public static final Integer ERROR_CODE_PHOTO_ID = 120006;//照片id错误


    //img_tag
    public static final Integer ERROR_CODE_IMG_ADD_TAG = 130001; //添加tag失败
    public static final Integer ERROR_CODE_IMG_UPDATE_TAG = 130002; //修改tag失败
    public static final Integer ERROR_CODE_IMG_DEL_TAG = 130003; //删除tag失败
    public static final Integer ERROR_CODE_IMG_LIST_TAG = 130004; //查询tag列表失败
    public static final Integer ERROR_CODE_IMG_ERROR_TAG = 130005; //tag内容错误
    public static final Integer ERROR_CODE_IMG_UPDATE_TAG_NUM = 130006; //更新照片的tag数错误
    public static final Integer ERROR_CODE_IMG_TAG_NOT_EXIST = 130007; //tag不存在
    public static final Integer ERROR_CODE_IMG_TAG_USER = 130008; //不能操作别人发的tag
    public static final Integer ERROR_CODE_IMG_NOT_EXIST = 130009; //图片不存在

    // qlove video
    public static final Integer ERROR_CODE_QLOVE_FAVORITE_VIDEO_DUPLICATE = 140001; //QLOVE用户重复收藏视频
    public static final Integer ERROR_CODE_QLOVE_FAVORITE_VIDEO_NOT_LIST = 140002; //QLOVE用户收藏视频不在视频列表

    // data sync
    public static final Integer ERROR_CODE_DATA_SYNC_APPDATA = 150201; //更新业务数据错误
    public static final Integer ERROR_CODE_DATA_SYNC_SEQ = 150301; //SEQ错误
    public static final Integer ERROR_CODE_DATA_SYNC_DATATYPE = 150302; //错误的dataType
    public static final Integer ERROR_CODE_DATA_SYNC_INVALID_OP = 150303; //无效op
    public static final Integer ERROR_CODE_DATA_SYNC_PARAM = 150304; //参数错误
    public static final Integer ERROR_CODE_DATA_SYNC_CHANGESET = 150305; //changset错误

    static {
        msg.put(SUCCESSFUL, "");
        msg.put(ERR_FILE_BIG, "文件太大");
        msg.put(ERR_FILE_TYPE, "不支持的文件类型");

        //商品
        msg.put(ERR_CODE_PRODUCT_EXITS_ERROR, "商品不存在");
        msg.put(ERR_CODE_PRODUCT_NOT_STORE_ERROR, "商品库存不足");

        //通用错误
        msg.put(ERR_CODE_COM_REQURIE, "必填参数错误");

        //order
        msg.put(NOT_REACHABLE, "配送地区不支持");

        //user
        msg.put(ERR_USER_CREATED, "创建用户失败");
        msg.put(ERR_TOKEN_CREATED, "生成用户token失败");
        msg.put(ERR_NEED_CAPTCHA, "用户需要弹出页面验证码");
        msg.put(ERR_CHECK_CAPTCHA_TOKEN, "动态验证码验证失败");
        msg.put(ERR_SEND_SMSCODE, "发送短信验证码失败");
        msg.put(ERR_USER_NOT_EXIST, "用户不存在");
        msg.put(ERR_GET_USER_INFO, "查询用户信息失败");
        msg.put(ERR_MOBILE_ALREADY_EXIST, "手机号已经存在");
        msg.put(ERR_UPDATE_USER_MOBILE, "修改用户手机号失败");
        msg.put(ERR_UPDATE_USER_INFO, "修改用户手个人资料失败");
//        msg.put(ERR_TOKEN_VERIFY, "token校验失败");
        msg.put(ERR_CHECK_MOBILE_SMSCODE, "手机号和短信验证码校验失败");
        msg.put(ERR_UPDATE_USERCONFIG_INFO, "修改用户个人设置失败");
        msg.put(ERR_GET_USERCONFIG_INFO, "获取用户个人设置失败");
        msg.put(ERR_REMOVE_TOKEN, "清token失败");
        msg.put(ERR_ACCESS_TOKEN, "access_token错误");
        msg.put(ERR_REFRESH_TOKEN, "refresh_token错误");
        msg.put(ERR_AVATAR_NAME_UPDATE, "头像和昵称更新失败");
        msg.put(ERR_MASTER_GROUP_NAME_UPDATE, "主群的群名更新失败");
        msg.put(ERR_USER_UPDATE, "用户更新失败");
        msg.put(ERR_GET_USER_AVATAR_INFO, "获取用户头像列表失败");
        msg.put(ERR_CREATE_USER_AVATAR_INFO, "创建用户头像信息失败");
        msg.put(ERR_CREATE_USER_CONFIG_INFO, "创建用户个人设置信息失败");
        msg.put(ERR_SAVE_USER_TOKEN_INFO, "用户token保存失败");
        msg.put(ERR_GET_USER_NICKNAME, "查询用户昵称列表信息失败");
        msg.put(ERR_CREATE_USER_NICKNAME, "添加用户昵称信息失败");
        msg.put(ERR_DATA_ACCESS, "数据访问异常");
        msg.put(ERR_USER_ALREADY_EXIST, "用户已经存在");
        msg.put(ERR_NEED_LOGIN_REQUIRE, "未登录，请先登录！");
        msg.put(ERR_USER_AVATAR_PARAMS, "用户头像参数有误！");
        msg.put(ERR_GET_USER_LOCATION, "用户无地理位置信息");
        msg.put(ERR_ADD_USER_LOCATION, "新增单个用户地理位置信息失败");
        msg.put(ERR_UPDATE_USER_LOCATION, "修改单个用户地理位置信息失败");
        msg.put(ERR_BATCH_FIND_USER_LOCATION, "批量获取用户地理位置信息失败");
        msg.put(ERR_DELETE_SMS_CODE, "删除缓存中手机验证码操作失败");
        msg.put(ERR_OPERATE_CACHE, "操作缓存失败");
        msg.put(ERR_IP_LIMITED_SMS_CODE, "该IP地址超过发送短信数量限制");
        msg.put(ERR_DATA_TRANSFER, "数据转换错误");
        msg.put(ERR_GENERATOR_QR_CODE, "二维码生成失败");
        msg.put(ERR_FILE_NOT_EXIST_CODE, "文件不存在");
        msg.put(ERR_SHARD_CODE, "收藏或分享失败");
        msg.put(ERR_UPDATE_USER_TOKEN_INFO, "修改token与用户信息缓存失败");
        msg.put(ERR_USER_HAVE_NO_RELATION, "用户之间没有任何关系");
        msg.put(ERR_BATCH_FIND_USER_INFO_FORMAT, "批量获取用户信息时数组转换成列表时出错");
//        msg.put(ERR_TOKEN_CHECK, "token校验异常了");
        msg.put(ERR_USER_JOININ, "用户登录操作异常");
        msg.put(ERR_SMSCODE_FORMAT, "验证码格式错误，不能为空且必须为6位");
        msg.put(ERR_CURRENT_USER_NOT_EXIST, "当前用户不存在");
        msg.put(ERR_DEVICE_ID_LENGTH, "设备号不合法");
        msg.put(ERR_SENDSMS_SMSTYPE, "短信类型参数有误");
        msg.put(ERR_INCTYPE, "累计参数有误");
        msg.put(ERR_PARAM_OVER_LENGTH, "参数长度超限");
        msg.put(ERR_DEVICE_TYPE, "不支持的设备类型");
        msg.put(ERR_NAME, "名称不合法");
        msg.put(ERR_NOT_SUPPORT_VERSION_LOGIN, "暂不支持当前版本登录。");
        msg.put(ERR_CONTACTS_NOT_EXIST, "联系人不存在");
        msg.put(ERR_BIGEVENT_NOT_EXIST, "大事记不存在");
        msg.put(ERR_CONTACTS_ADD, "该用户已添加");
        msg.put(ERR_CONTACTS_ADD_SEFL, "不能添加自己为联系人");
        msg.put(ERR_CREATE_ACCOUT, "创建账号失败");
        msg.put(ERR_VERIFY_PWD, "密码校验失败");
        msg.put(ERR_UPDATE_PWD, "密码修改失败");
        msg.put(ERR_QLOVE_UID_SAVE, "设备与亲见账号关联失败");
        msg.put(ERR_QLOVE_ALREADY_BIND, "已经绑定此小助手,无需重复绑定");


        msg.put(ERR_BIGEVENT_ADD_LIMIT, "该天大事记已存在");
        msg.put(ERR_BIGEVENT_ADD_COUNT_LIMIT, "大事记数量已达上限");
        msg.put(ERR_USER_AVATAR_URL, "用户头像url错误");
        msg.put(ERR_QLOVE_NAME_AVATAR_URL, "Qlove头像或昵称修改失败");
        msg.put(ERR_QLOVE_AREA, "Qlove地域修改失败");
        msg.put(ERR_QLOVE_MOBILE, "Qlove对应的手机号修改失败");
        msg.put(ERR_GET_QLOVE_INFO, "获取qlove系统状态信息失败");
        msg.put(ERR_HAS_SIM_MOBILE, "手机号参数错误");
        msg.put(ERR_QLOVE_SETTINGS_INVALID, "无效qlove设置项");
        msg.put(ERR_COMET_INFO_GET, "comet查询状态失败");
        msg.put(ERR_SN_NOT_MATCH_WITH_RANDOM, "qlove设备的序列号与随机码不匹配");
        msg.put(ERR_NOT_ALLOW_OPERATION, "无此操作权限");
        msg.put(ERR_QLOVE_SIGN_OUT, "qlove注销亲见用户信息失败");

        //qlove
        msg.put(ERR_SAVE_QLOVE_BIND, "存储qlove绑定信息失败。");
        msg.put(ERR_SAVE_QLOVE_INFO, "qlove初始化信息失败。");
        msg.put(ERR_QLOVE_REQUEST, "qlove申请绑定失败。");
        msg.put(ERR_QLOVE_USER_NOT_EXIST, "qlove用户不存在。");
        msg.put(ERR_QLOVE_USER_REGULAR, "qlove用户激活失败。");
        msg.put(ERR_QLOVE_BIND_INFO_EMPTY, "没有该qlove设备的绑定信息。");
        msg.put(ERR_QLOVE_WRONG_MANAGER, "您不是该qlove设备的小助手。");
        msg.put(ERR_QLOVE_UPDATE_PROFILE, "设置qlove资料失败。");
        msg.put(ERR_QLOVE_UNBIND, "解除绑定失败。");
        msg.put(ERR_QLOVE_UNBIND_PARAM, "解除绑定参数错误。");
        msg.put(ERR_QLOVE_INFO_UPLOAD, "上传qlove设备信息错误。");
        msg.put(ERR_QLOVE_INFO_UPLOAD_PARAM, "上传qlove设备信息参数有误。");
        msg.put(ERR_QLOVE_INFO_GET, "没有该qlove设备的硬件信息。");
        msg.put(ERR_QLOVE_POLL, "qlove轮询绑定结果失败。");
        msg.put(ERR_QLOVE_REFRESH_TOKEN_VERIFY, "qlove的refreshToken校验失败。");
        msg.put(ERR_QLOVE_REFRESH_TOKEN, "qlove的refreshToken刷新失败。");
        msg.put(ERR_QLOVE_ACCESS_TOKEN_RIGHT, "qlove的accessToken仍然有效。");
        msg.put(ERR_QLOVE_REFRESH_TOKEN_RIGHT, "qlove的refreshToken仍然有效。");
        msg.put(ERR_QLOVE_LOGIN, "qlove登录失败。");
        msg.put(ERR_QLOVE_TOKEN_GET, "qlove token获取失败。");
        msg.put(ERR_QLOVE_REQUEST_EXPIRED, "qlove申请绑定请求已失效。");
        msg.put(ERR_CONTACTS_MANAGER_NOT_DELETE, "不能删除小助手。");
        msg.put(ERR_MUSIC_CHARTID_NULL, "频道不能为空");

        //h5
        msg.put(ERR_QUERY_SYS_AVATAR, "查询系统默认头像失败");
        msg.put(ERR_QUERY_EMOTICON_KIT_LIST, "查询系统表情包列表失败");
        msg.put(ERR_QUERY_EMOTICON_LIST_BY_KITID, "查询某表情包下的表情列表失败");
        msg.put(ERR_NOT_EXIST_EMOTICON_KIT, "数据库中无任何表情包");
        msg.put(ERR_NOT_EXIST_EMOTICONS, "数据库中无任何表情");


        //安全限制相关
        msg.put(ERR_INVOKE_BEYOND_FREQUENCY_LIMIT, "接口调用频次超限");
        msg.put(ERR_ACCESS_TOKEN_EXPIRED, "access_token过期");
        msg.put(ERR_CANTSENTSMS, "短信发送已达今天的最高上限");
        msg.put(ERR_PHONEERROR, "手机号为空或格式错误");
        msg.put(ERR_MINUTELIMIT, "一分钟内只能发一条短信");
        msg.put(ERR_SMSCODE, "验证码错误或已过期");
        msg.put(ERR_CHECKSMSCODE_LIMIT, "今日短信验证码校验错误次数已超过上限");
        msg.put(ERR_LOGIN_FAILED, "登入失败");
        msg.put(ERR_CHECKLOGIN_FAILED, "账号未登录，请先登录");
        msg.put(ERR_USERNAME_IP_INBLACKLIST, "登陆用户或者ip在黑名单中");
        msg.put(SYSTEM_UNKNOWN_EXCEPTION, "操作异常");
        msg.put(ERR_UPLOAD_ERROR, "上传失败");

        msg.put(ERR_CREATE_HOME_AND_TREE_HOLE, "创建我的小家和树洞失败");
        msg.put(ERR_MOBILE_SMSCODE_NOT_MATCH, "手机号与验证码不匹配");
        msg.put(ERR_INC_SEND_TIMES, "发短信累加次数失败");


        //===========================CONTACTS ERROR CODE START======================================
        msg.put(ERR_ADD_FRIENDS_INVITE, "用户邀请失败");
        msg.put(ERR_ADD_FRIENDS_ADD, "加亲友失败");
        msg.put(ERR_ACCEPT_FRIENDS_ACCEPT, "接受亲友失败");
        msg.put(ERR_MODIFY_REMARK, "备注修改失败");
        msg.put(ERR_UPLOAD, "上传通讯录失败");
        msg.put(ERR_GET_REMARK, "获取备注失败");
        msg.put(ERR_ADD_FRIENDS_INVITE_TIMES, "邀请次数超出限制");
        msg.put(ERR_IGNORE_FRIENDS, "忽略亲友失败");
        msg.put(ERR_DELETE_FRIENDS, "解除亲友失败");
        msg.put(ERR_GET_FRIENDS, "获取亲友录失败");
        //===========================CONTACTS ERROR CODE END========================================
        //===========================GROUP ERROR CODE======================================
        msg.put(ERROR_CODE_GROUP_NAME_REQUIRED, "需要组名");
        msg.put(ERROR_CODE_GROUP_CREATE, "建群失败");
        msg.put(ERROR_CODE_GROUP_EXISTED, "群信息已经存在");
        msg.put(ERROR_CODE_GROUP_INVITE_MOBILE, "手机邀请失败");
        msg.put(ERROR_CODE_GROUP_INVITE_UID, "用户邀请失败");
        msg.put(ERROR_CODE_GROUP_INVITE_MYSELF, "禁止邀请自己");
        msg.put(ERROR_CODE_GROUP_INVITE_DUPLICATE, "禁止重复邀请");
        msg.put(ERROR_CODE_GROUP_INVITE_GID_REQUIRED, "邀请的群不存在");
        msg.put(ERROR_CODE_GROUP_INVITE_UID_REQUIRED, "邀请用户不存在");
        msg.put(ERROR_CODE_GROUP_INVITE_CODE_VERIFY, "验证码校验失败");
        msg.put(ERROR_CODE_GROUP_INVITE_CODE_EXPIRED, "邀请码失效");
        msg.put(ERROR_CODE_GROUP_CONFIG, "群配置错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_MEMBER, "您不是群成员");
        msg.put(ERROR_CODE_GROUP_CONFIG_MASTER, "您不是群主");
        msg.put(ERROR_CODE_GROUP_CONFIG_REQUIRED, "群信息为空");
        msg.put(ERROR_CODE_GROUP_GID_REQUIRED, "群id为空");
        msg.put(ERROR_CODE_MASKS_USERS_REQUIRED, "用户列表为空");
        msg.put(ERROR_CODE_GROUP_INVITE_CODE_REQUIRED, "邀请码为空");
        msg.put(ERROR_CODE_GROUP_USER_OFFLINE, "离群成员不可操作");
        msg.put(ERROR_CODE_GROUP_USER_NOT_EXIST, "非群成员");
        msg.put(ERROR_CODE_USER_MASK_REQUIRED, "屏蔽信息为空");
        msg.put(ERROR_CODE_GROUP_USER_QUIT, "用户退群失败");
        msg.put(ERROR_CODE_USER_COMPLAINT, "用户投诉失败");
        msg.put(ERROR_CODE_GROUP_CONFIRM, "群邀请确认失败");
        msg.put(ERROR_CODE_GROUP_USER_CONFIRM, "用户邀请确认失败");
        msg.put(ERROR_CODE_GROUP_NOT_EXIST, "群不存在");
        msg.put(ERROR_CODE_GROUP_TREE_HOLE, "树洞群不可修改信息");
        msg.put(ERROR_CODE_GROUP_CONFIRM_REQUIRED, "群邀请确认信息为空");
        msg.put(ERROR_CODE_GROUP_USER_CONFIRM_REQUIRED, "用户邀请确认信息为空");
        msg.put(ERROR_CODE_GROUP_CONFIRM_SKIP, "跳过群邀请确认");
        msg.put(ERROR_CODE_GROUP_USER_CONFIRM_SKIP, "跳过用户邀请确认");
        msg.put(ERROR_CODE_GROUP_INVITE_USER_NOT_EXIST, "被邀请人不存在");
        msg.put(ERROR_CODE_GROUP_CONFIG_AVATAR_TYPE, "群配置头像类型错误");
        msg.put(ERROR_CODE_GROUP_QUALITY_MAX, "超过用户创建群的数量");
        msg.put(ERROR_CODE_GROUP_INIT_USERNAME_REQUIRED, "群初始化用户名为空");
        msg.put(ERROR_CODE_ENTER_GROUP, "进群错误");
        msg.put(ERROR_CODE_GROUP_USER_NICKNAME_REQUIRED, "用户群昵称为空");
        msg.put(ERROR_CODE_GROUP_MAIN, "主群不存在");
        msg.put(ERROR_CODE_GROUP_MY_FAMILY, "我的珍藏群不存在");
        msg.put(ERROR_CODE_MASKS_USERS_FORMAT, "屏蔽用户信息错误");
        msg.put(ERROR_CODE_MASKS_MYSELF, "不能屏蔽自己");
        msg.put(ERROR_CODE_GROUP_USER_QUIT_MY_FAMILY, "不能退出我的小家");
        msg.put(ERROR_CODE_GROUP_EXCEED_MAX, "超过最大群用户数量");
        msg.put(ERROR_CODE_GROUP_QUIT, "退群失败");
        msg.put(ERROR_CODE_GROUP_TREE_HOLE_MAIN, "不能操作设置树洞为主群");
        msg.put(ERROR_CODE_GROUP_MAX, "群大小参数错误");
        msg.put(ERROR_CODE_NOT_QINYOU, "非亲友");
        msg.put(ERROR_CODE_GROUP_QUERY_RELATION, "查询群用户关系失败");
        msg.put(ERROR_CODE_GROUP_USER_QUIT_TREE_HOLE, "不能退出自己的树洞");
        msg.put(ERROR_CODE_UNBIND_USER_RELATION, "解除用户关系错误");
        msg.put(ERROR_CODE_GROUP_MAIN_SET, "设置主群失败");
        msg.put(ERROR_CODE_GROUP_USER_SAME_UID_CONFIRM, "确认用户错误");
        msg.put(ERROR_CODE_GROUPS_REQUIRED, "群列表id参数为空");
        msg.put(ERROR_CODE_MASKS_GIDS_EMPTY, "屏蔽群列表id参数为空");
        msg.put(ERROR_CODE_GROUP_USER_QUIT_LAST_GROUP, "不能退出最后一个群");
        msg.put(ERROR_CODE_GROUP_ENTER_QUALITY_MAX, "超过用户进入被邀请群的数量");
        msg.put(ERROR_CODE_GROUP_USER_REJECT, "移出本群失败");
        msg.put(ERROR_CODE_QUIT_GROUP_MASTER, "群主退群失败");
        msg.put(ERROR_CODE_GROUP_USER_IGNORE_BATCH_GIDS_REQUIRED, "批量忽略群邀请，群id列表不能为空");
        msg.put(ERROR_CODE_GROUP_USER_IGNORE_BATCH_FAILED, "批量忽略群邀请失败");
        msg.put(ERROR_CODE_GROUP_INVITE_MOBILE_BATCH_SIZE_ERROR, "手机号批量邀请数量为空");
        msg.put(ERROR_CODE_GROUP_INVITE_MOBILE_BATCH_SIZE_EXCEED_ERROR, "手机号批量邀请超过数量限制");
        msg.put(ERROR_CODE_GROUP_USER_IGNORE_BATCH_GIDS_EXCEED, "批量忽略群邀请超过数量限制");
        msg.put(ERROR_CODE_GROUP_CONFIG_TYPE, "群配置类型错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_NO_DISTURB, "群配置勿扰参数错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_DISPLAY_NICKNAME, "群配置显示群昵称参数错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_NICKNAME, "群配置群昵称参数错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_NAME, "群配置群名称参数错误");
        msg.put(ERROR_CODE_GROUP_DISSOLVE, "群已解散");
        msg.put(ERROR_CODE_GROUP_CONFIG_NICKNAME_TOO_LONG, "群昵称过长");
        msg.put(ERROR_CODE_GROUP_NOT_MASTER, "您不是群主");
        msg.put(ERROR_CODE_GROUP_CONFIG_PUBLIC_BIRTHDAY, "群配置公开生日参数错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_PUBLIC_MOBILE, "群配置公开手机号参数错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_FEED_NOTIFY, "群配置feed通知参数错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_CHAT_NOTIFY, "群配置聊天通知参数错误");
        msg.put(ERROR_CODE_GROUP_CONFIG_VERIFY, "群配置入群验证策略参数错误");
        msg.put(ERROR_CODE_GROUP_AUDIT, "审核失败");
        msg.put(ERROR_CODE_GROUP_AUDIT_STATUS_TYPE, "审批状态错误");
        msg.put(ERROR_CODE_GROUP_MASTER, "获取群主失败");
        msg.put(ERROR_CODE_GROUP_VERIFY_VALUE_TYPE, "验证值错误");


        msg.put(ERROR_CODE_GROUP_INVITE_AUDIT_NOT_SUPPORTED, "审批类型类型不支持");
        msg.put(ERROR_CODE_GROUP_USER_INIT, "群初始化错误");
        msg.put(ERROR_CODE_GROUP_CATEGORY_REQUIRED, "群分类为空错误");
        msg.put(ERROR_CODE_GROUP_APPLY_DUPLICATE, "用户重复主动入群");
        msg.put(ERROR_CODE_GROUP_CONFIG_PUBLISH_DISCUSS, "群公开讨论参数错误");
        msg.put(ERROR_CODE_PUBLISH_DISCUSS_NOT_ALLOW, "群不允许公开讨论错误");
        msg.put(ERROR_CODE_GROUP_APPLY_USER_INFO_REQUIRED, "公开群不需要审核入群参数错误");
        msg.put(ERROR_CODE_GROUP_USER_QUIT_MASTER, "群主退群未任命其他人为群主");
        msg.put(ERROR_CODE_GROUP_AVATAR_REQUIRED, "群封面为空");
        msg.put(ERROR_CODE_GROUP_USERAVATAR_REQUIRED, "用户头像错误");
        msg.put(ERROR_CODE_GROUP_VERIFY_TYPE_REQUIRED, "允许成员邀请入群的配置不正确");
        msg.put(ERROR_CODE_GROUP_VERIFY_TYPE, "验证类型错误");
        msg.put(ERROR_CODE_GROUP_MASTER_APPOINT, "转让群主身份失败");

        msg.put(ERROR_CODE_INVITE_CODE_TIME_OUT, "邀请码已过期");
        msg.put(ERROR_CODE_GROUP_USER_EXIST, "群成员已存在");
        msg.put(ERROR_CODE_GROUP_NO_PUBLIC, "非公开群");


        //===========================GROUP ERROR CODE======================================

        //===========================WORLD ERROR CODE======================================
        msg.put(ERROR_CODE_WORLD_FOLLOW_NOT_EXIST, "关注记录不存在");
        msg.put(ERROR_CODE_WORLD_FOLLOW_UPDATE, "更新关注记录数失败");
        msg.put(ERROR_CODE_WORLD_FOLLOW__DUPLICATE, "不能重复关注");

        // ===========================MESSAGE ERROR CODE START ======================================
        msg.put(ERROR_CODE_MESSAGE_PARA_GROUPID, "参数gid错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_USERID, "参数id错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_YEAR, "参数year错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_IMGSEQ, "参数imgseq错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_TAG, "参数tag错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_TIMESTAMP, "参数timestamp错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_SIZE, "参数size错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_STAR, "参数star错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_MSGSEQ, "参数msg_seq错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_PULLTYPE, "参数pulltype错误");
        msg.put(ERROR_CODE_MESSAGE_DELETE_FAIL, "删除失败");
        msg.put(ERROR_CODE_MESSAGE_ADDSTAR_FAIL, "加星失败");
        msg.put(ERROR_CODE_MESSAGE_PARA_GTYPE, "参数gtype错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_STARSEQ, "参数seq错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_IMGID, "参数imgid错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_MTYPE, "参数mtype错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_EXTRA, "参数extra错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_TAGCONT, "参数tag cont节点错误");
        msg.put(ERROR_CODE_MESSAGE_PARA_TAGNOTEXIST, "标签不存在");
        msg.put(ERROR_CODE_MESSAGE_PARA_MSGNOTEXIST, "消息不存在");

        // ===========================MESSAGE ERROR CODE END ======================================


        //-------------------config server---------------------------------------------------------------------------
        msg.put(ERROR_CODE_CONFIG, "配置服务异常");
        msg.put(ERROR_CODE_CONFIG_CITY_REQUIRED, "城市信息不能为空");
        msg.put(ERROR_CODE_CONFIG_NO_AVAILABLE_ALGORITHM, "没有可用的算法");
        msg.put(ERROR_CODE_CONFIG_NO_GO_SERVER, "没有可用的聊天服务器");

        //-------------------config server---------------------------------------------------------------------------

        //-------------------- weather ----------------------------------------
        msg.put(ERROR_CODE_WEATHER, "获取用户天气失败");
        msg.put(ERROR_CODE_WEATHERS, "获取群用户天气失败");
        msg.put(ERROR_CODE_WEATHER_LOCATION, "获取用户位置错误");
        msg.put(ERROR_CODE_WEATHER_CITY, "获取用户城市位置错误");
        msg.put(ERROR_CODE_WEATHER_LONGITUDE_LATITUDE, "经纬度为空");
        //-------------------- discovery --------------------------------------
        msg.put(ERROR_CODE_PASSOMETER_UPLOAD_FAILE, "上传记步失败");
        msg.put(ERROR_CODE_PASSOMETER_GET_FAILE, "获取记步失败");
        msg.put(ERROR_CODE_PASSOMETER_MATCH_ATTEND_FAILE, "参加比赛失败");
        msg.put(ERROR_CODE_PASSOMETER_MATCH_QUIT_FAILE, "退出比赛失败");
        msg.put(ERROR_CODE_PASSOMETER_MATCH_GET_FAILE, "获取比赛失败");
        msg.put(ERROR_CODE_NEWS_GET_FAILE, "获取新闻失败");
        msg.put(ERROR_CODE_HEALTH_GET_FAILE, "获取健康知识失败");
        //-------------------- phizicon ---------------------------------------
        msg.put(ERROR_CODE_PHIZ_KITS_GET, "获取亲表情包失败");
        msg.put(ERROR_CODE_PHIZS_GET, "获取亲表情失败");
        msg.put(ERROR_CODE_WEATHER_CHECK, "qlove签名校验失败");
        //-------------------- weather & discovery ----------------------------------------


        //-------------------- status -----------------------------------------------------
        msg.put(OUT_STOCK, "商品库存不足");

        msg.put(ERROR_CODE_TOP_COUNT, "置顶条数超过限制");

//-------------------- status -----------------------------------------------------
        msg.put(ERROR_CODE_PARAM_FAILURE, "参数校验失败");
        msg.put(ERROR_CODE_VALIDFAIL_NOTBLANK, "参数NOTBLANK校验失败");
        msg.put(ERROR_CODE_VALIDFAIL_LENGTH, "参数LENGTH校验失败");
        msg.put(ERROR_CODE_VALIDFAIL_ENUM, "参数ENUM校验失败");
        msg.put(ERROR_CODE_VALIDFAIL_NOTEMPTY, "参数NOTEMPTY校验失败");
        msg.put(ERROR_CODE_VALIDFAIL_NUMBER, "参数NUMBER校验失败");
        msg.put(ERROR_CODE_VALIDFAIL_PHONE, "参数PHONE校验失败");
        msg.put(ERROR_CODE_VALIDFAIL_REGEX, "参数REGEX校验失败");
//        public static final int ERROR_CODE_VALIDFAIL_ENUM = 90004; // 参数验证失败
//        public static final int ERROR_CODE_VALIDFAIL_NOTEMPTY = 90005; // 参数验证失败
//        public static final int ERROR_CODE_VALIDFAIL_NUMBER = 90006; // 参数验证失败
//        public static final int ERROR_CODE_VALIDFAIL_PHONE = 90007; // 参数验证失败
//        public static final int ERROR_CODE_VALIDFAIL_REGEX = 90008; // 参数验证失败

        //-------------------------------news_feed--------------------------
        msg.put(ERROR_CODE_FEED_ADD_FAIL, "发布news失败");
        msg.put(ERROR_CODE_SCHEDULE_VIEW, "查看日程详情失败");
        msg.put(ERROR_CODE_SCHEDULE_CHOOSE, "查看日程详情失败");
        msg.put(ERROR_CODE_FEED_NEWS_JSON, "News Json格式错误");
        msg.put(ERROR_CODE_FEED_NEWS_DEL, "News已删除");
        msg.put(ERROR_CODE_FEED_NEWS_DELFAIL, "News删除失败");
        msg.put(ERROR_CODE_SCHEDULE_TYPE, "参加或拒绝日程的type参数错误");
        msg.put(ERROR_CODE_SCHEDULE_NOT_EXIST, "该日程不存在");
        msg.put(ERROR_CODE_SCHEDULE_NOT_CONFIRM, "该日程不需要用户确认");
        msg.put(ERROR_CODE_SCHEDULE_NOT_REPEAT_YES, "用户已经同意过了，无需再次同意");
        msg.put(ERROR_CODE_SCHEDULE_NOT_REPEAT_NO, "用户已经拒绝过了，无需再次拒绝");
        msg.put(ERROR_CODE_ADD_PRAISE, "用户点赞失败");
        msg.put(ERROR_CODE_VOTE_NOT_EXIST, "该投票不存在");
        msg.put(ERROR_CODE_SUB_VOTE_EMPTY, "保存投票信息不能为空");
        msg.put(ERROR_CODE_SUB_VOTE_INFO_ERROR, "投票信息没有子选项，信息出错");
        msg.put(ERROR_CODE_SUB_VOTE_ADD, "投票信息没有子选项，信息出错");
        msg.put(ERROR_CODE_VOTE_PARAM_ERROR, "投票时类型参数错误，只能为0或1");
        msg.put(ERROR_CODE_VOTE_NOT_ALLOW_ADD, "该投票不允许用户添加选项");
        msg.put(ERROR_CODE_VOTE_FAIL, "用户投票失败");
        msg.put(ERROR_CODE_VOTE_NOT_ALLOW_MULTI, "该选项不允许用户多选");
        msg.put(ERROR_CODE_CANCEL_VOTE_FAIL, "用户取消投票失败");
        msg.put(ERROR_CODE_FEED_PARA_GROUPID, "gid参数错误");
        msg.put(ERROR_CODE_FEED_PARA_JSON, "news_json参数错误");
        msg.put(ERROR_CODE_FEED_PARA_NEWSID, "news_id参数错误");
        msg.put(ERROR_CODE_FEED_PARA_SIZE, "size参数错误");
        msg.put(ERROR_CODE_FEED_PARA_TOUID, "touid参数错误");
        msg.put(ERROR_CODE_SCHEDULE_DELETE, "删除日程出错");
        msg.put(ERROR_CODE_SCHEDULE_NOT_HAVE_GID, "创建日程时群id不可为空");
        msg.put(ERROR_CODE_SCHEDULE_NOT_HAVE_TITLE, "创建日程时标题不可为空");
        msg.put(ERROR_CODE_SCHEDULE_NOT_HAVE_STARTTIME, "创建日程开始时间不可为空");
        msg.put(ERROR_CODE_VOTE_NOT_HAVE_NEWSID, "创建投票时newsid不能为空");
        msg.put(ERROR_CODE_VOTE_NOT_HAVE_TITLE, "创建投票时标题不能为空");
        msg.put(ERROR_CODE_VOTE_NOT_HAVE_SUBTITLE, "创建投票时子项目不能为空");
        msg.put(ERROR_CODE_VOTE_SUB_NOT_EXIST, "该投票子项目不存在");
        msg.put(ERROR_CODE_VOTE_MOVE_FROM_AGREE, "从同意列表中踢出失败");
        msg.put(ERROR_CODE_VOTE_MOVE_FROM_REFUSE, " 从拒绝列表中踢出失败");
        msg.put(ERROR_CODE_VOTE_ADD_TO_AGREE, "添加至同意列表失败");
        msg.put(ERROR_CODE_VOTE_ADD_TO_REFUSE, "添加至拒绝列表失败");
        msg.put(ERROR_CODE_UPDATE_FEED_NEWS_VOTE, "将日程中拒绝或同意用户列表更新至news表中失败");
        msg.put(ERROR_CODE_SCHEDULE_PULLTYPE, "按时间拉取日程时pulltype参数有误");
        msg.put(ERROR_CODE_SCHEDULE_DETELE_NO_PERMISSION, "没有权限删除此日程");
        msg.put(ERROR_CODE_VOTE_CREATER_NOT_EMPTY, "创建投票时创建人uid不能为空");
        msg.put(ERROR_CODE_VOTE_GID_NOT_EMPTY, "创建投票时所在群组gid不能为空");
        msg.put(ERROR_CODE_COMMENT_NOTIFY_MSG_ERR, "评论发送消息失败");
        msg.put(ERROR_CODE_SCHEDULE_END_TIME, "日程结束时间不能小于开始时间");
        msg.put(ERROR_CODE_SCHEDULE_DEADLINE_NOT_ALLOW_EMPTY, "日程设置重复后，重复期限不可为空");
        msg.put(ERROR_CODE_VOTE_ENDTIME, "投票截至时间不能小于当前时间");
        msg.put(ERROR_CODE_SHARE, "转发失败");
        msg.put(ERROR_CODE_PHOTO_URL, "图片URL错误");
        msg.put(ERROR_CODE_PHOTO_SIZE, "图片个数超限");
        //-----------------------------------feed_album-----------------------------------
        msg.put(ERROR_CODE_ADD_ALBUM, "相册创建失败");
        msg.put(ERROR_CODE_UPDATE_ALBUM_NOT_YOURS, "更新相册失败,当前用户无权限");
        msg.put(ERROR_CODE_UPDATE_ALBUM, "更新相册失败");
        msg.put(ERROR_CODE_DEL_ALBUM_HAS_PHOTO, "删除相册失败,相册内还有照片");
        msg.put(ERROR_CODE_DEL_ALBUM_NOT_YOURS, "删除相册失败,当前用户无权限");
        msg.put(ERROR_CODE_DEL_ALBUM, "删除相册失败");
        msg.put(ERROR_CODE_DEL_ALBUM_IS_DEFAULT, "删除相册失败,默认相册无法删除");
        msg.put(ERROR_CODE_LIST_ALBUM, "获取相册列表失败");


        //img_tag
        msg.put(ERROR_CODE_IMG_ADD_TAG, "添加tag失败");
        msg.put(ERROR_CODE_IMG_UPDATE_TAG, "修改tag失败");
        msg.put(ERROR_CODE_IMG_DEL_TAG, "删除tag失败");
        msg.put(ERROR_CODE_IMG_LIST_TAG, "查询tag列表失败");
        msg.put(ERROR_CODE_IMG_ERROR_TAG, "tag内容错误");
        msg.put(ERROR_CODE_IMG_UPDATE_TAG_NUM, "更新照片的tag数错误");
        msg.put(ERROR_CODE_IMG_TAG_NOT_EXIST, "tag不存在");
        msg.put(ERROR_CODE_IMG_TAG_USER, "不能操作别人发的tag");
        msg.put(ERROR_CODE_IMG_NOT_EXIST, "图片不存在");

        //------------------------------------feed_photo---------------------------------------------
        msg.put(ERROR_CODE_ADD_PHOTO_ALBUM_NOT_EXIST, "添加照片失败,相册不存在");
        msg.put(ERROR_CODE_MOVE_PHOTO_TO_ALBUM_NOT_EXIST, "移动照片失败,相册不存在");
        msg.put(ERROR_CODE_MOVE_PHOTO_TO_ALBUM, "移动照片失败");
        msg.put(ERROR_CODE_DEL_PHOTO, "删除照片失败");
        msg.put(ERROR_CODE_ADD_PHOTO_ALBUM, "添加照片失败");
        msg.put(ERROR_CODE_PHOTO_ID, "照片id错误");

        // --------- qlove video ------------
        msg.put(ERROR_CODE_QLOVE_FAVORITE_VIDEO_DUPLICATE, "QLOVE用户重复收藏视频");
        msg.put(ERROR_CODE_QLOVE_FAVORITE_VIDEO_NOT_LIST, "QLOVE用户收藏视频不在视频列表");


        // ---------- data sync -------------
        msg.put(ERROR_CODE_DATA_SYNC_APPDATA, "更新业务数据错误");
        msg.put(ERROR_CODE_DATA_SYNC_SEQ, "SEQ错误");
        msg.put(ERROR_CODE_DATA_SYNC_DATATYPE, "错误的dataType");
        msg.put(ERROR_CODE_DATA_SYNC_INVALID_OP, "错误的操作类型");
        msg.put(ERROR_CODE_DATA_SYNC_PARAM, "参数错误");
        msg.put(ERROR_CODE_DATA_SYNC_CHANGESET, "changset错误");

        msg.put(ORDER_STATUS_ERROR, "订单状态不正确");
        msg.put(ERR_CODE_NOTFUND_PARENT, "没有推荐人,不能下单");
        msg.put(USER_ORDER_DAY_LIMIT, "您已超过单日最大下单");

    }

    private Integer c = SUCCESSFUL;  //code
    private String m = null; //message
    //    private Map<String, Object> d = new HashMap<>();  //data
    private Map<String, Object> d = null;  //data

    private Object data;    //优先使用，为null才使用d

    public Integer getC() {
        return c;
    }

    public void setC(Integer c) {
        this.c = c;
        if (c != SUCCESSFUL && m == null) {
            m = msg.get(c);
        }
    }

    public String getM() {
        return m;
    }

    public static String getM(int code) {
        return "";
//        return StringUtils.defaultIfEmpty(msg.get(code), "");
    }

    public void setM(String m) {
        this.m = m;
    }

//    public Map<String, Object> getD() {
//        return d;
//    }

    public Object getD() {
        return data == null ? d : data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public void putD(String name, Object value) {
        if (this.d == null) {
            this.d = Maps.newHashMap();
        }

        if (StringUtils.isNotEmpty(name)) {
            this.d.put(name, value);
        }
    }

    public void putAllD(Map<String, Object> maps) {
        if (this.d == null) {
            this.d = Maps.newHashMap();
        }

        if (maps != null && !maps.isEmpty()) {
            this.d.putAll(maps);
        }
    }

    public void putAllArrD(Map<String, String[]> maps) {
        if (this.d == null) {
            this.d = Maps.newHashMap();
        }

        if (maps != null && !maps.isEmpty()) {
            this.d.putAll(maps);
        }
    }

/*
    public void putData(Class clazz, Object value) {
        mapperFactory.classMap(clazz, Map.class)
                .constructorB()
                .byDefault()
                .register();
        MapperFacade mapper = mapperFactory.getMapperFacade();

        if (value != null) {
            mapper.map(value, this.d);
        }
    }*/

    @Override
    public String toString() {
        try {
            return objectMapper.writeValueAsString(this);
        } catch (JsonProcessingException e) {
            return "";
        }
    }


    public static void main(String args[]) throws IllegalAccessException, IOException {
//        TreeSet<Integer> treeSet = new TreeSet<>();
//        Field[] fields = ResultJson.class.getDeclaredFields();
//        if (fields != null) {
//            for (Field field : fields) {
//
//                field.setAccessible(true);
//
//                if (Modifier.isStatic(field.getModifiers())) {
//
//                    Object o = field.get(null);
//
//                    if (o != null && o instanceof Integer) {
//                        System.out.println(o);
//                        treeSet.add((Integer) o);
//                    }
//
//                }
//            }
//        }
//
//        System.out.println(treeSet);
//        Properties properties = new Properties();
//        for (Map.Entry<Integer, String> entry : msg.entrySet()) {
//            if (entry.getKey() == 0) {
//                continue;
//            }
//            properties.put(String.valueOf(entry.getKey()), entry.getValue());
//        }
//
//        properties.store(new FileOutputStream(new File("priest-common/src/main/resources/i18n/result_json.properties")), "ResultJson国际化信息");
//        ResultJson resultJson = new ResultJson();
//        System.out.println(resultJson);
    }
}